package com.vates.springapp.domain;

import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="TIPO_HABITACION")
public class TipoHabitacion {

	
	
	 @Id
	  @GeneratedValue(strategy= GenerationType.AUTO)
	  private long id;
	  
	  @Column(name="NOMBRE")
	  private String nombre;
	  
	  @Column(name="DESCRIPCION")
	  private String descripcion;
	  
	  @Column(name="CANTIDAD")
	  private int cantidad;
	  
	  @Column(name="MAX_OCUPANTES")
	  private int maxOcupantes;
	  
	  @Column(name="PRECIO")
	  private float precio;
	  	 
	  @ManyToOne 
	  @JoinColumn(name="HOTEL_ID")
	  private Hotel hotel;
	  
	  @OneToMany(mappedBy="tipoHabitacion", cascade= { CascadeType.ALL }, fetch= FetchType.LAZY, orphanRemoval=true)
	  private Set<Reserva> reserva;
	  

	public Set<Reserva> getReserva() {
		return reserva;
	}

	public void setReserva(Set<Reserva> reserva) {
		this.reserva = reserva;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public int getCantidad() {
		return cantidad;
	}

	public void setCantidad(int cantidad) {
		this.cantidad = cantidad;
	}

	public int getMaxOcupantes() {
		return maxOcupantes;
	}

	public void setMaxOcupantes(int maxOcupantes) {
		this.maxOcupantes = maxOcupantes;
	}

	public float getPrecio() {
		return precio;
	}

	public void setPrecio(float precio) {
		this.precio = precio;
	}

	public Hotel getHotel() {
		return hotel;
	}

	public void setHotel(Hotel hotel) {
		this.hotel = hotel;
	}
	  
	  

}
